package model

import (
	"Server/config"
)

type Users struct {
	Id       int    `json:"id"`
	Username string `json:"username"`
	Password string `json:"password"`
	Mid      int    `json:"mid"`
}

func (user Users) TableName() string {
	return "user"
}

var results []Users
var result Users

// FindAll 返回所有信息
func FindAll() []Users {
	config.DB.Find(&results)
	return results
}

// FindById 返回根据主键检索(一条数据)
func FindById(index int) Users {
	config.DB.First(&result, index)
	return result
}

// FindByName 条件查询
func FindByName(name string) []Users {
	config.DB.Where("username LIKE ?", "%"+name+"%").Find(&results)
	return results
}

// Add 新增数据
func Add(users Users) struct {
	id  int
	err error
	row int64
} {
	r := config.DB.Create(&users)
	return struct {
		id  int
		err error
		row int64
	}{id: users.Id, err: r.Error, row: r.RowsAffected}
}

// Update 根据主键修改数据
func Update(users Users) struct {
	row int64
	err error
} {
	r := config.DB.Model(Users{}).Where("id=?", users.Id).Updates(users)
	return struct {
		row int64
		err error
	}{row: r.RowsAffected, err: r.Error}
}

// 根据主键删除
func Delete(index int) struct {
	row int64
	err error
} {
	r := config.DB.Delete(&Users{}, index)
	return struct {
		row int64
		err error
	}{row: r.RowsAffected, err: r.Error}
}
